<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>面向对象封装消息提示</title>
    <style>
        .modal {
            width: 300px;
            min-height: 100px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            border-radius: 4px;
            position: fixed;
            z-index: 999;
            left: 50%;
            top: 50%;
            transform: translate3d(-50%, -50%, 0);
            background-color: #fff;
        }

        .modal .header {
            line-height: 40px;
            padding: 0 10px;
            position: relative;
            font-size: 20px;
        }

        .modal .header i {
            font-style: normal;
            color: #999;
            position: absolute;
            right: 15px;
            top: -2px;
            cursor: pointer;
        }

        .modal .body {
            text-align: center;
            padding: 10px;
        }

        .modal .footer {
            display: flex;
            justify-content: flex-end;
            padding: 10px;
        }

        .modal .footer a {
            padding: 3px 8px;
            background: #ccc;
            text-decoration: none;
            color: #fff;
            border-radius: 2px;
            margin-right: 10px;
            font-size: 14px;
        }

        .modal .footer a.submit {
            background-color: #369;
        }
    </style>
</head>

<body>
    <button id="delete">删除</button>
    <button id="login">登录</button>

    <!-- <div class="modal">
    <div class="header">温馨提示 <i>x</i></div>
    <div class="body">您没有删除权限操作</div>
  </div> -->

    <script>
        // 1.  模态框的构造函数
        // 2. 打开方法 挂载 到 模态框的构造函数原型身上
        // 3. 关闭方法 挂载 到 模态框的构造函数原型身上
        function GetLogin(title, content) {
            // 修改this属性创建div模态框盒子
            this.dom = document.createElement('div');
            // 修改this属性为新增的模态框盒子增加类名
            this.dom.classList.add('modal');
            // 修改this属性在新增的模态框盒子中添加元素内容标签
            this.dom.innerHTML = `
                <div class="header">${title} <i>x</i></div>
                <div class="body">${content}</div>
            `;
        }
        GetLogin.prototype.open = function () {
            // 将构造函数中this属性创建的div盒子添加到body中，this.dom指向构造函数中this.dom属性创建的盒子
            document.body.appendChild(this.dom);
        }
        GetLogin.prototype.close = function () {
            // 将构造函数中this属性创建的div盒子添加到body中，this.dom指向构造函数中this.dom属性创建的盒子
            document.body.appendChild(this.dom);
        }

        // 4. 删除按钮点击
        const deleteBtn = document.querySelector('#delete');
        deleteBtn.addEventListener('click', function (e) {
            // 创建登录操作实例，并传递标题和提示内容参数
            const deleteOpt = new GetLogin('温馨提示', '您没有删除权限操作');
            // 调用挂载到原型上的close函数
            deleteOpt.close();

        })
        // 5. 登录按钮点击
        const loginBtn = document.querySelector('#login');
        loginBtn.addEventListener('click', function (e) {
            // 创建登录操作实例，并传递标题和提示内容参数
            const loginOpt = new GetLogin('登录提示', '登录成功！');
            // 调用挂载到原型上的open函数
            loginOpt.open();
        })
    </script>
</body>

</html>